package io;

import java.io.Serializable;
import java.util.List;

/**
 *
 * @author Mariano Zapata
 */
public class Archivo extends Identificable implements Serializable {
    
    private String nombre;
    private int duenio;
    private long ultimaModificacion;
    private boolean modificado;
    
    public Archivo(List<Long> ruta)
    {
        super(ruta);
        nombre= "";
        duenio= -1;
        ultimaModificacion= 0;
        modificado= false;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    public String getNombreFisico() {
        String ret= super.obtenerId() + "_";
        String [] partes= nombre.split(" ");
        for (String s : partes)
            ret+= s;
        return ret;
    }
    
    public String getExtension() {
        int indice= nombre.lastIndexOf(".");
        if (indice == -1)
            return null;
        return nombre.substring(indice);
    }

    public int getDuenio() {
        return duenio;
    }

    public void setDuenio(int duenio) {
        this.duenio = duenio;
    }
    
    public long getUltimaModificacion() {
        return ultimaModificacion;
    }
    
    public void setUltimaModificacion(long mod) {
        ultimaModificacion= mod;
    }

    public boolean isModificado() {
        return modificado;
    }

    public void setModificado(boolean modificado) {
        this.modificado = modificado;
    }
    
    @Override
    public String toString() {
        return nombre;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        return super.equals(obj);
    }

    @Override
    public int hashCode() {
        return super.hashCode();
    }
}
